package com.lagou.mr.number_sort;

import org.apache.hadoop.io.WritableComparable;

import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;

// 因为这个类的实例对象要作为map输出的key，所以要实现writablecomparable接口
public class NumberBean implements WritableComparable<NumberBean> {
    // 定义属性
    private Integer number; // 数字

    // 排序规则 按大小升序
    // 返回值三种 0：相等 1：小于 -1：大于
    @Override
    public int compareTo(NumberBean o) {
        if (this.number > o.number) {
            return 1;
        } else if (this.number < o.number) {
            return -1;
        } else {
            return 0;
        }
    }

    // 序列化方法
    @Override
    public void write(DataOutput out) throws IOException {
        out.writeInt(this.number);
    }

    // 反序列化方法
    @Override
    public void readFields(DataInput in) throws IOException {
        this.number = in.readInt();
    }

    // 空参构造
    public NumberBean() {
    }

    public NumberBean(int number) {
        this.number = number;
    }

    public int getNumber() {
        return number;
    }

    public void setNumber(int number) {
        this.number = number;
    }
}
